#include "stdafx.h"
#include "Parser.h"

Parser::Parser()
{
}

Parser::~Parser()
{
    Action *act;

	std::vector<Action*>::iterator iter;
	for(iter = actions.begin(); iter<actions.end(); iter++)
	{
		act = (*iter);
		if(act){
			delete act;
		}
	}
}

void Parser::addAction(Action* action)
{
    actions.push_back(action);
}


void Parser::Parse()
{
	Action *act;

	std::vector<Action*>::iterator iter;
	for(iter = actions.begin(); iter<actions.end(); iter++)
	{
		act = *iter;
		act->Do();
	}
}

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
PairParser::PairParser()
{
}

PairParser::~PairParser()
{
}

//////////////////////////////////////////////////////////////////////
// Triangle
//////////////////////////////////////////////////////////////////////
TriangleParser::TriangleParser()
{
	Action1 *action1 = new Action1(this);
	Action2 *action2 = new Action2(this);
	Action3 *action3 = new Action3(this);

	addAction(action1);
	addAction(action2);
	addAction(action3);
}

TriangleParser::~TriangleParser()
{
}


//////////////////////////////////////////////////////////////////////
// Actions
//////////////////////////////////////////////////////////////////////

void Action1::Do()
{

}

void Action2::Do()
{

}

void Action3::Do()
{

}


